In general, in a computer system in which a plurality of memories are coupled, a process of determining one of memories in which data (variables, objects, and the like) used for a program are placed is performed.
In association with a technique for determining a data placement destination used for a program from among a plurality of memories, for example, there are techniques described in PTL 1 to PTL 4.
For example, PTL 1 describes a method for determining a priority of a program, based on the number of accesses for each function, each variable, or each constant of the program, and placing each program in a descending order of a memory access rate within an allowable range of a memory size in accordance with the determined priority.
Further, for example, PTL 2 describes a method for determining a placement destination memory, based on a frequency of execution of each function process, for an object file obtained by grouping machine language codes of program files in units of function process.
Further, for example, PTL 3 describes a method for placing each object of a source code, based on a weighting priority of each object depending on a task priority and a priority of placement, based on placement instruction information, in each area in which each object is placeable.
Further, for example, PTL 4 describes a method for placing a function that is executed a large number of times, and a function that requires a long execution time, among functions of an execution program, in a memory having a high loading speed, as far as the memory capacity permits. PTL 4 also describes a method for determining a placement destination, based on a total execution time with respect to all combinations that enable distribution and placement and that are calculated by a profiler.